/*
This class abstracts whatever API, framework or library i am using for the graphics
*/

#ifndef APIInterface_H
#define APIInterface_H

#include<d3d11.h>
#include<d3dx11.h>
#include<DxErr.h>
#include<xnamath.h>

class APIInterface
{

public:
	APIInterface(){};
	virtual bool Initialize(){return false;}; // initialize the library and etc..
	virtual bool Update(){return false;}; // update the game. If return false an error has occured
	virtual bool Render(){return false;}; // render the game
	virtual bool LoadContent(){return false;};
	virtual bool UnloadContent(){return false;};
	virtual bool ShutDown(){return false;}; // turn off the library and clear the memory
	
	unsigned int getWidth(){return width;};
	void setWidth(unsigned int w){width = w;};

	unsigned int getHeight(){return height;};
	void setHeight(unsigned int h){height = h;};
protected:
	unsigned int width;
	unsigned int height;
};

#endif